#include<stdio.h>

/*c语言中级学习第11课：数组之冒泡排序*/

/*
    内循环：找到本次循环的较大值，再把较大值放在最右侧
    外循环：将内循环的动作重复执行
    如果数组中有n个数据,循环需要执行n-1次
*/
int main()
{
    int arr[7] = {23,5,-9,48,0,15,86};
    int len = sizeof(arr) / sizeof(arr[0]);

    for (int i = 0; i < len-1; i++)//len-1：是因为len右侧已经没有可以比较多数据了
    {
        for (int j = 0; j < len-1-i; j++)//-i是因为最大值已确立
        {
            if (arr[j]>arr[j+1])//相邻的元素两两比较，小的元素放前面，大的元素放后面
            {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

    for (int i = 0; i < len; i++)//遍历数组
    {
        printf("%d ",arr[i]);
    }
    printf("\n排序结束\n");

    return 0;
}